iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0
Security

零知識證明-走進PLONK世界系列 第 1

[Day1] 零知識證明-走進PLONK世界

  • 分享至 

  • xImage
  •  

在進入PLONK世界之前,先向大家簡單講解一下什麼是零知識證明。

零知識證明 (Zero-knowledge proof, 簡稱為ZKP) 是一種密碼學技術,它可以在不透露資料本身或任何額外資料(例如敏感的數據內容)的情況下驗證某數字資料的真實性。在Web3的領域中,零知識證明在結合區塊鏈技術之下,能夠進一步提升保護個人私隱的能力及解決當下存在的數字安全問題。

大家為了獲得互聯網帶來的便利,在日常生活中都會利用互聯網來進行各種動作、交易、社交等等,在過程中難免需要透露個人的私隱數據。例如在平台購物時要輸入信用卡號碼以進行交易,進行身份認證時就可能需要提交身份證明文件等。然而,在工作中都有機會需要處理各種公司或客戶的私隱數據,需要嘍其他同事分享某些私隱數據的資訊。但究竟是不是必須要用上一些私隱數據呢? 其實有很多情況是不需要用上私隱數據,例如參加一個線上語言培訓班,是不需要你的個人住址、也不需要知道你的性別等,因為都不會影響到整個教學,相關個人資訊也是用不上的。

零知識證明 (ZKP) 是在 1985 年由 Shafi Goldwasser、Silvio Micali、Chales Rackoff 合著的論文《The knowledge complexity of interactive proof systems》首次提出的數學協議,除了某一要證明的事實之外,不會透露任何其他信息。驗證者無法獲得生成證明的秘密信息。

零知識證明的原理
在零知識證明架構中,會存在兩個角色包括證明方及驗證方,證明方可以在無須透露任何額外資訊下,向驗證方證明一個陳述是真的。在這情況下,證明方可以不用提供一些敏感的資訊而向驗證方提供證明,因為驗證方可以在不獲得證明方的敏感資訊之下完成一個驗證。

證明方只需要提供一個只有他能夠生成的證明,然後發送給驗證方,驗證方則用收到的證明來驗證指定的陳述真偽。在整個過程中,驗證方不能透過收到的證明來獲得證明中的內容,換言之,是沒有人能夠對證明進行解密。

給大家一個例子說明,假設有一條路,起點是在路牌A 而終點是路牌B。在路中間有一道唯一的密碼門,需要輸入正確的密碼才能通過,要怎樣在一個不透露密碼的情況之下向其他人證明你是有密碼門的密碼? 最簡單就是在終點的路牌B拍一張照片。當然是還有其他方式去證明,所以要是我們能夠用一個可以保障到自己私隱或利益的情況之下進行某些證明,的確是能夠進一步減低安全風險。

參考:

  1. The knowledge complexity of interactive proof systems
    https://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Proof%20Systems/The_Knowledge_Complexity_Of_Interactive_Proof_Systems.pdf

  2. Zero Knowledge Canon, part 1 & 2
    https://a16zcrypto.com/posts/article/zero-knowledge-canon/


下一篇
[Day2]零知識證明-走進PLONK世界: 零知識證明的基礎
系列文
零知識證明-走進PLONK世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言